﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Arthus.Konta
{
    public partial class kontaForma : Form
    {
        private string oznakaKonta;
        public kontaForma()
        {
            InitializeComponent();
            posjedObjekat.PopuniComboBoxPlusZaSve(comboBoxPjedinica);
        }

        Posjed posjedObjekat = new Posjed();
        Konto kontoObjekat = null;

        private void kontaForma_Load(object sender, EventArgs e)
        {
            kontoObjekat = new Konto();
            kontoObjekat.PopuniListBox(listBoxKonta);
            kontoObjekat.PopuniKontroleNaOsnovuOznakeKonta(oznakaKonta, textBoxOznaka, textBoxNaziv, textBoxNaziv2, comboBoxVrsta, comboBoxPocetnoStanje,
                comboBoxSaldo, comboBoxPjedinica, comboBoxAnalitika, checkBoxDevizno, checkBoxMaterijalno);
            listBoxKonta.SelectedIndex = 0;
        }

        private void kontaForma_Activated(object sender, EventArgs e)
        {
            kontoObjekat = new Konto();
            kontoObjekat.PopuniListBox(listBoxKonta);
            kontoObjekat.PopuniKontroleNaOsnovuOznakeKonta(oznakaKonta, textBoxOznaka, textBoxNaziv, textBoxNaziv2, comboBoxVrsta, comboBoxPocetnoStanje,
                comboBoxSaldo, comboBoxPjedinica, comboBoxAnalitika, checkBoxDevizno, checkBoxMaterijalno);
            oznakaKonta = listBoxKonta.SelectedItem.ToString().Split('.')[0];
        }

        private void buttonZatvori_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void TABKaoENTER(KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
            {
                e.SuppressKeyPress = true;
                SelectNextControl(ActiveControl, true, true, true, true);
            }
        }
        private void textBoxOznaka_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void textBoxNaziv_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void textBoxNaziv2_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void comboBoxVrsta_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void comboBoxPocetnoStanje_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void comboBoxSaldo_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void comboBoxPjedinica_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void comboBoxAnalitika_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void checkBoxDevizno_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }
        private void checkBoxMaterijalno_KeyDown(object sender, KeyEventArgs e)
        {
            TABKaoENTER(e);
        }

        private void VratiSveNaPocetak()
        {
            textBoxOznaka.Text = "";
            textBoxNaziv.Text = "";
            textBoxNaziv2.Text = "";
            comboBoxAnalitika.SelectedIndex = 0;
            comboBoxPocetnoStanje.SelectedIndex = 0;
            comboBoxSaldo.SelectedIndex = 0;
            comboBoxPjedinica.SelectedIndex = 0;
            comboBoxAnalitika.SelectedIndex = 0;
            checkBoxMaterijalno.Checked = false;
            checkBoxDevizno.Checked = false;
        }

        private void buttonDodaj_Click(object sender, EventArgs e)
        {
            kontoObjekat = new Konto();
            kontoObjekat.DodajKonto(textBoxOznaka, textBoxNaziv, textBoxNaziv2, comboBoxVrsta, comboBoxPocetnoStanje, comboBoxSaldo, comboBoxPjedinica,
                comboBoxAnalitika, checkBoxDevizno, checkBoxMaterijalno);
            VratiSveNaPocetak();
            textBoxOznaka.Focus();
        }

        private void listBoxKonta_SelectedIndexChanged(object sender, EventArgs e)
        {
            oznakaKonta = listBoxKonta.SelectedItem.ToString().Split('.')[0];
            kontoObjekat = new Konto();
            kontoObjekat.PopuniKontroleNaOsnovuOznakeKonta(oznakaKonta, textBoxOznaka, textBoxNaziv, textBoxNaziv2, comboBoxVrsta, comboBoxPocetnoStanje,
                comboBoxSaldo, comboBoxPjedinica, comboBoxAnalitika, checkBoxDevizno, checkBoxMaterijalno);
        }

        private void buttonIzmeni_Click(object sender, EventArgs e)
        {
            kontoObjekat = new Konto();
            kontoObjekat.IzmeniKonto(oznakaKonta, textBoxOznaka, textBoxNaziv, textBoxNaziv2, comboBoxVrsta, comboBoxPocetnoStanje, comboBoxSaldo, 
                comboBoxPjedinica, comboBoxAnalitika, checkBoxDevizno, checkBoxMaterijalno);
        }

        private void buttonObrisi_Click(object sender, EventArgs e)
        {
            kontoObjekat = new Konto();
            kontoObjekat.ObrisiKonto(oznakaKonta);
        }
    }
}
